package org.gap.service;

import java.util.Calendar;
import java.util.List;
import java.util.Set;

import org.gap.domain.Adherent;
import org.gap.domain.CaractPM;
import org.gap.domain.CaractPP;
import org.gap.domain.Patient;
import org.gap.domain.RelationsTiers;
import org.gap.domain.RolesTiers;
import org.gap.domain.Tiers;
import org.gap.domain.TiersModif;
import org.gap.domain.Utilisateurs;

/**
 * Spring service that handles CRUD requests for Tiers entities
 * 
 */
public interface TiersService {

	/**
	 * Load an existing Tiers entity
	 * 
	 */
	public Set<Tiers> loadTierss();

	/**
	 */
	public Tiers findTiersByPrimaryKey(Integer tieTiers);

	/**
	 * Save an existing Utilisateurs entity
	 * 
	 */
	public Tiers saveTiersUtilisateurses(Integer tieTiers_1, Utilisateurs related_utilisateurses);

	/**
	 * Return a count of all Tiers entity
	 * 
	 */
	public Integer countTierss();

	/**
	 * Save an existing CaractPM entity
	 * 
	 */
	public Tiers saveTiersCaractPM(Integer tieTiers_2, CaractPM related_caractpm);

	/**
	 * Delete an existing RelationsTiers entity
	 * 
	 */
	public Tiers deleteTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers, Integer related_relationstiersesforrlttiersfils_rltTiersParent, Integer related_relationstiersesforrlttiersfils_rltTiersFils, String related_relationstiersesforrlttiersfils_rltRelation);

	/**
	 * Save an existing CaractPP entity
	 * 
	 */
	public Tiers saveTiersCaractPP(Integer tieTiers_3, CaractPP related_caractpp);

	/**
	 * Save an existing TiersModif entity
	 * 
	 */
	public Tiers saveTiersTiersModifs(Integer tieTiers_4, TiersModif related_tiersmodifs);

	/**
	 * Delete an existing Adherent entity
	 * 
	 */
	public Tiers deleteTiersAdherents(Integer tiers_tieTiers_1, Integer related_adherents_adhId);

	/**
	 * Save an existing RelationsTiers entity
	 * 
	 */
	public Tiers saveTiersRelationsTiersesForRltTiersFils(Integer tieTiers_5, RelationsTiers related_relationstiersesforrlttiersfils);

	/**
	 * Delete an existing Tiers entity
	 * 
	 */
	public void deleteTiers(Tiers tiers);

	/**
	 * Save an existing Patient entity
	 * 
	 */
	public Tiers saveTiersPatients(Integer tieTiers_6, Patient related_patients);

	/**
	 * Return all Tiers entity
	 * 
	 */
	public List<Tiers> findAllTierss(Integer startResult, Integer maxRows);

	/**
	 * Delete an existing RolesTiers entity
	 * 
	 */
	public Tiers deleteTiersRolesTierses(Integer tiers_tieTiers_2, String related_rolestierses_rotRole, Integer related_rolestierses_rotTiers);

	/**
	 * Delete an existing RelationsTiers entity
	 * 
	 */
	public Tiers deleteTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_3, Integer related_relationstiersesforrlttiersparent_rltTiersParent, Integer related_relationstiersesforrlttiersparent_rltTiersFils, String related_relationstiersesforrlttiersparent_rltRelation);

	/**
	 * Save an existing RelationsTiers entity
	 * 
	 */
	public Tiers saveTiersRelationsTiersesForRltTiersParent(Integer tieTiers_7, RelationsTiers related_relationstiersesforrlttiersparent);

	/**
	 * Save an existing Tiers entity
	 * 
	 */
	public void saveTiers(Tiers tiers_1);

	/**
	 * Delete an existing TiersModif entity
	 * 
	 */
	public Tiers deleteTiersTiersModifs(Integer tiers_tieTiers_4, Integer related_tiersmodifs_tmoTiers, String related_tiersmodifs_tmoNomChampModif, Calendar related_tiersmodifs_tmoDateModification);

	/**
	 * Save an existing RolesTiers entity
	 * 
	 */
	public Tiers saveTiersRolesTierses(Integer tieTiers_8, RolesTiers related_rolestierses);

	/**
	 * Delete an existing CaractPP entity
	 * 
	 */
	public Tiers deleteTiersCaractPP(Integer tiers_tieTiers_5, Integer related_caractpp_cppTiers);

	/**
	 * Save an existing Adherent entity
	 * 
	 */
	public Tiers saveTiersAdherents(Integer tieTiers_9, Adherent related_adherents);

	/**
	 * Delete an existing CaractPM entity
	 * 
	 */
	public Tiers deleteTiersCaractPM(Integer tiers_tieTiers_6, Integer related_caractpm_cpmTiers);

	/**
	 * Delete an existing Utilisateurs entity
	 * 
	 */
	public Tiers deleteTiersUtilisateurses(Integer tiers_tieTiers_7, String related_utilisateurses_usrUser);

	/**
	 * Delete an existing Patient entity
	 * 
	 */
	public Tiers deleteTiersPatients(Integer tiers_tieTiers_8, Integer related_patients_patPatient);
}